package cn.com.guage.dtm.check.datasource.aop;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class DataSourceType {

    private final static Logger logger = LoggerFactory.getLogger(DataSourceType.class);

    private static final ThreadLocal<DataBaseType> TYPE = new ThreadLocal<DataBaseType>();
	public enum DataBaseType {
		DB01, DB02
	}


	// 往当前线程里设置数据源类型
	public static void setDataBaseType(DataBaseType dataBaseType) {
		if (dataBaseType == null) {
			throw new NullPointerException();
		}
		logger.info("[将当前数据源切换为]：" + dataBaseType);
		TYPE.set(dataBaseType);
	}

	// 获取数据源类型
	public static DataBaseType getDataBaseType() {
		DataBaseType dataBaseType = TYPE.get() == null ? DataBaseType.DB01 : TYPE.get();
		logger.info("[获取当前数据源的类型为]：" + dataBaseType);
		return dataBaseType;
	}

	// 清空数据类型
	public static void clearDataBaseType() {
		TYPE.remove();
	}

}
